embedded systems vhdl fpga intellectual property hardware extreme programming design uml patent attorney industrial computers asic c++ copyright single board computers unified modeling language java sbc rtos dsp j2ee